// FreeField.h: interface for the FreeField class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_FREEFIELD_H__9EF1A8FC_9C29_4D79_9D93_041514C03D35__INCLUDED_)
#define AFX_FREEFIELD_H__9EF1A8FC_9C29_4D79_9D93_041514C03D35__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

class AFX_EXT_CLASS FreeField  
{
public:
	FreeField();
	virtual ~FreeField();

public:
	void SetXFree(){
		m_bX = TRUE;
	}
	void SetXUnFree(){
		m_bX = FALSE;
	}
	BOOL IsXFree(){
		return m_bX;
	}
	void SetYFree(){
		m_bY = TRUE;
	}
	void SetYUnFree(){
		m_bY = FALSE;
	}
	BOOL IsYFree(){
		return m_bY;
	}
	void SetZFree(){
		m_bZ = TRUE;
	}
	void SetZUnFree(){
		m_bZ = FALSE;
	}
	BOOL IsZFree(){
		return m_bZ;
	}

	void SetvXFree(){
		m_bvX = TRUE;
	}
	void SetvXUnFree(){
		m_bvX = FALSE;
	}
	BOOL IsvXFree(){
		return m_bvX;
	}
	void SetvYFree(){
		m_bvY = TRUE;
	}
	void SetvYUnFree(){
		m_bvY = FALSE;
	}
	BOOL IsvYFree(){
		return m_bvY;
	}
	void SetvZFree(){
		m_bvZ = TRUE;
	}
	void SetvZUnFree(){
		m_bvZ = FALSE;
	}
	BOOL IsvZFree(){
		return m_bvZ;
	}

	FreeField& operator=(const FreeField& old);
private:
	BOOL m_bX;
	BOOL m_bY;
	BOOL m_bZ;
	BOOL m_bvX;
	BOOL m_bvY;
	BOOL m_bvZ;
};

#endif // !defined(AFX_FREEFIELD_H__9EF1A8FC_9C29_4D79_9D93_041514C03D35__INCLUDED_)
